<?php

namespace Admin\Controller;

use Think\Controller;

// 引入鉴权类
use Qiniu\Auth;
// 引入上传类
use Qiniu\Storage\UploadManager;


class UploadfileController extends Controller
{
    /**
     * 上传
     */
    public function upload()
    {
        $upload = new \Think\Upload();// 实例化上传类
        $upload->rootPath = './Uploads/images/'; // 设置附件上传根目录
        $upload->savePath = ''; // 设置附件上传（子）目录
        // 上传文件
        $info = $upload->upload();

        $info = $info['imgFile'];
        //拼接本地上传的完整路径
        $filePath = getcwd() . "/Uploads/images/" . $info['savepath'] . $info['savename'];

        //调用七牛sdk执行上传到七牛
        $this->qiniu_upload($filePath);
        //前端显示图片地址
        $info["real_path"] = "http://oze5mdef4.bkt.clouddn.com/" . $info['savename'];

        $this->ajaxReturn($info);
    }

    /**
     * 七牛上传图片
     */
    public function qiniu_upload($filePath)
    {
        // 需要填写你的 Access Key 和 Secret Key
        $accessKey = "c5Do9ZCoDI1TqEQIBJMv90DfgOZLuy-rqYXrcoLn";
        $secretKey = "nD7Ani9OFjE8SNjmGJu6jjkePj7BZir4u5VKhFaM";
        $bucket = "chenyulei";
        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);
        // 生成上传 Token
        $token = $auth->uploadToken($bucket);

        // 上传到七牛后保存的文件名
        $key = basename($filePath);
        // 初始化 UploadManager 对象并进行文件的上传。
        $uploadMgr = new UploadManager();
        // 调用 UploadManager 的 putFile 方法进行文件的上传。
        $uploadMgr->putFile($token, $key, $filePath);
        unlink($filePath);
    }


}


